System and method for associating tags with online content

ABSTRACT

In one aspect, a computer-implemented method of associating tags with online content may generally include receiving, by one or more computing devices, a tag request from a user to associate a tag with a content object, classifying the tag as a controlled tag, accessing an access control list associated with the controlled tag, determining whether the user is permitted access to the controlled tag based on the access control list, associating the tag with the content object when the access control list permits access to the controlled tag, identifying a moderator for a tag group associated with the controlled tag and providing a moderator feed to the moderator of the content object associated with the controlled tag for approval or rejection of the controlled tag.

FIELD

The present subject matter relates generally to tagging online contentand, more particularly, to an access control list (ACL) based system andmethod for associating tags with online content.

BACKGROUND

Various hosting services or content platforms are known that allow forthe sharing of online content, such as audiovisual content (e.g., imagesand videos) and/or various other forms of content. To determine thenature of and/or to organize online content, typical approaches includecommunity “tagging” that allows users in a broad community to associatelabels or “tags” (e.g., textual phrases) with online content. Forinstance, an image of a basketball game may be tagged with the names ofthe teams playing or the names of the players depicted in the image.However, unrestricted community tagging of online content is oftenincomplete and inaccurate. For instance, online content may be taggedwith commentary that is too generic or completely irrelevant. As aresult, it is often difficult to provide a trustworthy source of taggedonline content.

SUMMARY

Aspects and advantages of embodiments of the present subject matter willbe set forth in part in the following description, or may be obviousfrom the description, or may be learned through practice of theembodiments.

In one aspect, the present subject matter is directed to acomputer-implemented method of associating tags with online content. Themethod may generally include receiving, by one or more computingdevices, a tag request from a user to associate a tag with a contentobject, classifying the tag as a controlled tag, accessing an accesscontrol list associated with the controlled tag, determining whether theuser is permitted access to the controlled tag based on the accesscontrol list, associating the tag with the content object when theaccess control list permits access to the controlled tag, identifying amoderator for a tag group associated with the controlled tag andproviding a moderator feed to the moderator of the content objectassociated with the controlled tag.

Other exemplary aspects of the present disclosure are directed tosystems, apparatus, non-transitory computer-readable media, userinterfaces and devices for associating tags with online content.

These and other features, aspects and advantages of the variousembodiments will become better understood with reference to thefollowing description and appended claims. The accompanying drawings,which are incorporated in and constitute a part of this specification,illustrate embodiments of the invention and, together with thedescription, serve to explain the related principles.

BRIEF DESCRIPTION OF THE DRAWINGS

Detailed discussion of embodiments directed to one of ordinary skill inthe art, are set forth in the specification, which makes reference tothe appended figures, in which:

FIG. 1 illustrates a schematic diagram of one embodiment of a system forassociating tags with online content in accordance with aspects of thepresent subject matter;

FIG. 2 illustrates one example of a tagging interface that may bepresented to a user for submitting tag requests in accordance withaspects of the present subject matter;

FIG. 3 illustrates a flow diagram of one embodiment of a method forassociating tags with online content in accordance with aspects of thepresent subject matter;

FIG. 4 illustrates a flow diagram of one embodiment of a method forassessing user quality based on a user's tagging history in accordancewith aspects of the present subject matter; and

FIG. 5 illustrates a schematic diagram of one embodiment of a suitablecomputing system for associating tags with online content in accordancewith aspects of the present subject matter.

DETAILED DESCRIPTION

Reference now will be made in detail to embodiments, one or moreexamples of which are illustrated in the drawings. Each example isprovided by way of explanation of the embodiments, not limitation. Infact, it will be apparent to those skilled in the art that variousmodifications and variations can be made to the embodiments withoutdeparting from the scope or spirit of the embodiments. For instance,features illustrated or described as part of one embodiment can be usedwith another embodiment to yield a still further embodiment. Thus, it isintended that the present subject matter cover such modifications andvariations as come within the scope of the appended claims and theirequivalents.

In general, the present subject matter is directed to systems andmethods for associating tags with online content. Specifically, anaccess control list (ACL) based tagging system is provided that may bemanaged by tag groups that control the application of tags associatedwith specific online content objects. As such, the ACL-based taggingsystem may be used to create a workflow for managing content associatedwith one or more particular tags.

For example, in several embodiments, the ACL-based tagging system mayinclude one or more controlled tags that are associated with one or moretag groups. A user may submit a tag request for tagging an onlinecontent object using a tagging interface on the user's device. Thetagging system may check to see if the tag is a new tag or an existingtag. If the tag is a new tag, the tag may be created within the systemand associated with the content object. If the tag is an existing tag,an ACL(s) associated with the tag may be accessed to determine if thetag is a controlled tag or a world-writable tag. If the tag is aworld-writable tag, the tag may be associated with the content object.However, if the tag is a controlled tag, the user may be asked to loginor provide any other suitable authentication information. The taggingsystem may then determine whether the user has access to the controlledtag by reviewing the ACL(s) associated with the controlled tag. If theuser does not have access, the user may be informed that the tag is notavailable to the user.

When the user is permitted access to the controlled tag, the tag may beassociated with the content object. Content objects tagged with thecontrolled tag may then be made available via a public feed, which maybe used by others as trustworthy signal for the quality of the contentobjects associated therewith.

Additionally, in one implementation, the tagging system may also providea feed of the content object to one or more moderators associated withthe tag group for the controlled tag. The moderator(s) may, for example,have the ability to approve or reject the controlled tag. Themoderator(s) may also have the ability to add additional tags to thecontent object (e.g., more restrictive tags). A feed may then beprovided for all content objects associated with moderator-reviewed tags(including tags generated by the moderator(s)), which may be used byothers as an even more trustworthy collection of online content.

Additionally, in several embodiments of the present subject matter, auser may gain access to a particular controlled tag based on a qualitysignal associated with the user. The quality signal may be based on thenumber and quality of the tags submitted by the user. For instance, if auser's tags were routinely removed by moderators, the quality signal mayindicate that the user is not a trustworthy user. However, a user thatgenerates many page views by finding great content and adding a tag(which is then used to navigate to that content) may have a qualitysignal indicating that the user is a trustworthy user. The qualitysignals associated with users may be used to select users that canaccess a particular controlled tag, to select users to become members ofthe tag group, and/or to select users to become moderators of the taggroup.

As used herein, the term “content” generally refers to any informationbeing consumed or otherwise made available to a user online and mayinclude, but is not limited to, visual data, audio data and/orcombinations thereof. An object, such as a web page, article, image,video clip, audio clip, 2-D map, 3-D globe, business, person and otherobjects, may be represented as a collection of content. Thus, the term“content object” generally refers to a specific piece or set ofinformation associated with an object. Content objects may be viewableonline through various mechanisms, such as through client software orany other suitable computer based application. Additionally, the term“tag” generally refers to a user-generated or user-selected contentlabel and may include, but is not limited to, a text string associatedwith a content object. In other words, tags may be used as contentidentifiers and/or descriptors to identify/describe specific contentobjects, such as by tagging an image with a description of the contentsof such image.

Additionally, it should be appreciated that the technology describedherein makes reference to computing devices, databases, softwareapplications, and other computer-based systems, as well as actions takenand information sent to and from such systems. One of ordinary skill inthe art will recognize that the inherent flexibility of computer-basedsystems allows for a great variety of possible configurations,combinations, and divisions of tasks and functionality between and amongcomponents. For instance, computer processes discussed herein may beimplemented using a single computing device or multiple computingdevices working in combination. Databases and applications may beimplemented on a single system or distributed across multiple systems.Distributed components may operate sequentially or in parallel.

Referring now to the drawings, FIG. 1 illustrates a schematic diagram ofone embodiment of an ACL-based tagging system 100 for associating tagswith online content. As shown, the system 100 may include a taggingplatform 110 in communication with a computing device 120 over a network130. The tagging platform 110 may be hosted by any suitable computingdevice(s), such as a web server(s). The computing device 120 may be anysuitable computing device, such as a laptop, desktop, smartphone,tablet, mobile device, wearable computing device or any other computingdevice.

A user 122 may input a tag request into the computing device 122 via asuitable user interface, such as a tagging interface 124. The tagrequest may generally correspond to a request to associate a tag with aspecific content object. For instance, the user 122 may submit a tagrequest to associate an image description with an image file, such as bysubmitting the tag “plane in flight” to identify the location of anairplane within a satellite image (e.g., satellite imagery availablethrough Google Earth). The computing device 120 may then send the tagrequest to the tagging platform 110.

It should be appreciated that the content object associated with the tagrequest may be hosted by any suitable computing device. For instance, inseveral embodiments, the content object may be made available to theuser 122 via a content platform 140 hosted by a remote computingdevice(s) 142, such as a web server(s). In general, the content platform140 may be any suitable platform that provides a means for presenting orotherwise making available online content to users. For instance,content platforms may include those adapted for sharing images orvideos, such as the platforms available through Google Earth, YouTube,Panoramio and/or the like, or for sharing any other suitable onlinecontent.

It should be also appreciated that the tagging interface 124 presentedto a user 122 may generally correspond to any suitable user interfacethat allows the user to generate, select and/or submit a tag request viahis/her computing device 120. For instance, FIG. 2 illustrates oneexample of a suitable tagging interface 124 that may be displayed to auser 122 who desires to tag an online content object. As shown, thetagging interface 124 may include an input box 150 for inputting asuggested tag for the content object and a submit button 152 fortransmitting the suggested tag to the tagging platform 110. Forinstance, the user may simply type the suggested tag into the input box150 and click the submit button 152. Additionally, as shown in FIG. 2, asuggestion box 156 (e.g., a drop down menu) may be displayed to the useras he/she types. For example, the suggestion box 156 may display a listof existing tags provided by the tagging platform 110 based on theletter(s) input into the input box 150. Alternatively, the suggestionbox 156 may provide suggestions of existing tags based on the particularcontent object being tagged. For instance, contextual informationassociated with the content object may be analyzed to providesuggestions for potential tags. Moreover, as shown in FIG. 2, thetagging interface 124 may also include a search box 158 that allows auser to input search queries to find pre-existing tags. In otherembodiments, the tagging interface 124 may have any other suitableinterface elements and/or may have any other suitable design/layout thatpermits a user to generate, select and/or submit a tag request.

Referring back to FIG. 1, the tagging platform 110 may be configured toreceive the tag request from the computing device 120. For example, thetagging platform 110 may include a suitable network interface 112 forconnecting to the network 130 and receiving the request. In response tothe request, the tagging platform 110 may access tag data stored withina tag database 114. The tag data may include information associated withpre-existing tags, such as the content object(s), tag group(s) and/orACL(s) associated with each tag. In addition, the tag database 114 mayalso be accessed by the tagging platform 110 to provide suggestions tothe user for potential tags (as described above).

In several embodiments, the tagging platform 110 may implement an ACLcontrol module 116 to review the suggested tag submitted by the user 122in the tag request. For instance, the ACL control module 116 may beconfigured to initially check the tag database 114 to determine if thesuggested tag already exists. If the tag is a new tag (and, thus, thetag does not match any pre-existing tags), the tag may be created withinthe system 100 and associated with the corresponding content objectidentified in the tag request. However, if the tag corresponds to apre-existing tag, the ACL control module 116 may determine if any accessrestrictions or ACLs exist for the tag. If the tag is world-writableand, thus, is not subject to any access restrictions, the tag may beassigned to the particular content object. If the existing tag has anACL(s) (such tag being referred to hereinafter as a “controlled tag”),the ACL control module 116 may generate an authentication request todetermine whether the user 122 is permitted to access the controlled tagbased on the set of permissions associated with the tag's ACL(s). Forinstance, the authentication request may require the user 122 to loginusing a username, password, email address and/or any other suitableidentifier or to perform any other action that provides a means foridentifying the user. If the user is allowed to access the controlledtag, the tag may be assigned to the particular content object associatedwith the user's tag request. However, if the user is not allowed accessto the controlled tag based on the ACL(s), the user may be notified thatthe controlled tag is not available to him/her.

It should be appreciated that the ACL(s) for each controlled tag maygenerally include one or more permissions associated with accessing suchtag. For instance, the ACL(s) may contain a list of approved users and,optionally, the rights associated with each user, such as by populatingthe ACL(s) with entries having [User ID, Role] pairs. In severalembodiments, the list of approved users for a given controlled tag maygenerally correspond to a “tag group” for such tag, with each approveduser being a member of the tag group. In such embodiments, the ACL(s)may specify the levels of access for each member of the tag group. Forinstance, the ACL(s) may restrict the access of some members (i.e.,“tagging” members) to simply submitting tag requests for associating thecontrolled tag with a new content object. Alternatively, some membersmay be allowed to both submit tag requests and approve/reject the tagrequests submitted by other members. As will be described below, suchmembers are referred to herein as “moderators.” In other embodiments,the ACL(s) for each controlled tag may have any other suitable set ofpermissions associated therewith and/or may have any suitablehierarchical structure. For instance, a controlled tag may includenested ACLs, such as by having one ACL for tagging members, one ACL formoderators and one ACL for all members (i.e., tagging members andmoderators). Additionally, when a controlled tag includes multiple ACLs,a set of precedence rules may be applied to settle conflicts betweenACLs. For instance, the most specific match for a given member of a taggroup may control the access for such member.

Referring still to FIG. 1, as indicated above, each tag group may,optionally, have one or more moderators 160 that are given the abilityto approve/reject tag requests submitted by members of the group. Forinstance, when a tag request is submitted for a given controlled tag,the tagging module 100 may generate a moderator feed of the contentobject associated with the tag request. The moderator feed maycorrespond to, for example, a web link to the content object on thecontent platform 140 hosted by the remote computing device 142. Thismoderator feed may then be transmitted or otherwise made available toone or more of the moderators 160 of the tag group. For instance, asshown in FIG. 1, the tagging module 110 may be in communication (e.g.,via network 130) with a computing device 162 of each moderator 160. Thecomputing device 162 may be any suitable computing device, such as alaptop, desktop, smartphone, tablet, mobile device, wearable computingdevice, or other computing device. By making available the moderatorfeed, the moderator(s) 160 may review the content object via his/hercomputing device 162 and subsequently assess the tag request submittedby the user. If the tag request is acceptable (e.g., the controlled tagis a suitable tag for the corresponding content object), the moderator160 may approve the tag request. However, if the tag request isunacceptable (e.g., the controlled tag is not a suitable tag for thecorresponding content object), the moderator 160 may reject the tagrequest. Additionally, each moderator 160 may also be given the abilityto add one or more additional tags to the content object associated withthe user's tag request (including replacing the tag associated with tagrequest with a new tag). For instance, a moderator 160, upon his/herreview, may choose to add a more generic tag or a more specific tag tothe content object.

In general, the moderator(s) 160 for each tag group may be selected inany suitable manner. However, in several embodiments, the moderator(s)160 may be selected based on a quality signal associated with eachmember of the tag group. The quality signal assigned to each member maygenerally be based on the tagging history of the member (i.e., theprevious tag requests submitted by the member) and/or the content viewsassociated with the content objects tagged by the member. For instance,if a member's tag requests are routinely removed/rejected by themoderator(s) 160, the quality signal for such member may be relativelylow/poor, thereby indicating that the member may not be a trustworthysource of accurate tags. In contrast, a member that routinely generatesacceptable tag requests may have a quality signal that is relativelyhigh/good, thereby indicating that the member is a trustworthy source ofaccurate tags. Members with high/good quality scores may then beselected or invited to become moderators 160 for the tag group.

It should be appreciated that the quality signals may also be used toselect users to become members of a particular tag group. For instance,if a member of a first tag group has a high/good quality signal, suchmember may be asked to become a member of a second tag group.Additionally, assuming a user is not listed as an approved user in theACL(s) for a particular controlled tag, an exception may be made toallow the user to gain access to the tag based on his/her qualitysignal. For instance, if the user's quality signal exceeds apredetermined threshold, the user may be granted temporary access to acontrolled tag or the user may be added to the tag's ACL(s) and made apermanent member of the tag group associated with such tag.

Additionally, in several embodiments, the tagging platform 110 may beconfigured to provide a feed of the content objects having approvedtags. For instance, as shown in FIG. 1, the tagging platform may providea public feed 170 (e.g., a web link) of the content objects withapproved tags. This feed may then be used by others (includingindividual users and third party sites) as a published collection oftrustworthy online content. Moreover, as shown in FIG. 1, the taggingplatform 110 may also be in communication with a content platform 140,such as the content platform hosting the content object(s) associatedwith the user's tag request. In such an embodiment, approved tagsassociated with the content objects hosted by the content platform 140may be transmitted thereto from the tagging platform 110. The contentplatform 140 may then utilize the approved tags to organize its onlinecontent into specific collections/products or to otherwise enhance theuser experience of the platform 140. For instance, the approved tags maybe used in locating and navigating online content provided by thecontent platform 140, such as locating and navigating the geographicdata available via geographic information systems, such as Google Earth,Google Maps and/or any other suitable geographic applications.

It should be appreciated that, in one embodiment, the tagging andcontent platforms 110, 140 may be hosted by separate computing devices,such as separate web servers. However, in other embodiments, bothplatforms 110, 140 may be hosted by the same computing device, such as acommon web server. Additionally, although a single content platform 140is shown in FIG. 1, the disclosed tagging system 100 may be used acrossmultiple content platforms to allow for control of the application andpromotion of tags associated with particular online content.

Referring now to FIG. 3, a flow diagram of one embodiment of a method(200) for associating tags with online content is illustrated inaccordance with aspects of the present subject matter. The method (200)may be implemented using any suitable computing device or system, suchas the system 400 depicted in FIG. 5. In addition, FIG. 3 depicts methodelements performed in a particular order for purposes of illustrationand discussion. Those of ordinary skill in the art, using thedisclosures provided herein, will understand that the various steps ofany of the methods disclosed herein can be omitted, adapted, and/orrearranged in various ways.

At (202), the method (200) includes receiving a tag request from a user.For instance, the tagging platform 110 of FIG. 1 may be configured toreceive a tag request from the user's device 120 over a network 130. Asindicated above, the tag request may correspond to a request toassociate a specific tag with an online content object. For example, theuser may submit a tag request to associate a word or phrase with aparticular content object, such as an image or video available on anysuitable content platform 140.

As indicated above, once the tag request is received, the taggingplatform 110 may be configured to implement an ACL control module 116 todetermine if the tag associated with the user's tag request is new,world-writable or controlled. If the tag is new or world-writable, thetag is created and associated with the content object identified in thetag request. However, if the tag includes ACL(s), at (204), the tag isclassified as a controlled tag. Specifically, as indicated above, eachcontrolled tag may include one or more ACLs specifying a permission orset of permissions required for accessing the tag. For instance, theACL(s) may contain a list of the users allowed to access the controlledtag (i.e., the members of the tag group associated with the tag) and therole or level of access provided to each approved user.

At (206), the method (200) includes accessing the ACL(s) associated withthe controlled tag. For instance, the ACL control module 116 may haveaccess to a tag database 116 that stores information associated with thecontrolled tag, including the tag's ACL(s). At (208), the ACL(s) may bereferenced to determine whether the user is permitted to access thecontrolled tag. For example, as described above, an authenticationrequest may be transmitted to the user requiring him/her to providelog-in information or other suitable information to authenticate his/heridentity (e.g., an email address, username, password and/or the like).The information provided by the user may then be cross-referenced withthe ACL(s) to determine if the user is permitted access to the tag.Assuming that the user is permitted access to the controlled tag (and,thus, is considered a member of the corresponding tag group), the tagmay, at (210), be associated with the content object identified in theuser's tag request. As indicated above, the content object may then bemade available to the public via feed associated with the controlledtag. In addition to such feed, or as an alternative thereto, the contentobject may also be made available to one or more moderators for the taggroup, as will be described below.

At (212 and 214), the method (200) includes identifying a moderator forthe tag group associated with the controlled tag and providing a feed tothe moderator of the content object identified in the user's tagrequest. For instance, as indicated above, the tagging platform 110 maybe configured to transmit a moderator feed to one or more of themoderators for the tag group to provide the moderator(s) access to theassociated content object. The moderator(s) may then review the contentobject to determine if it is appropriate to use the controlled tag withsuch content object. In addition, the moderator(s) may also choose toassociate an additional tag(s) with the content object, such as a moregeneral or more specific/restrictive tag.

At (216), the method (200) includes receiving a signal from themoderator(s) identifying the controlled tag as an approved tag or arejected tag. Any rejected tags may be discarded from the system 100.However, for approved tags, at (218), the tagging platform 110 mayprovide a feed of the content objects associated with such tags. Forinstance, as indicated above, a public feed 170 may be made availableand offered as trustworthy collection of the content objects. Inaddition, the approved tags may be transmitted to one or more contentplatforms 140 to allow such platform(s) to provide a trustworthycollection of content objects associated with each approved tag.

Referring now to FIG. 4, a flow diagram of one embodiment of a method(300) for assessing user quality based on a user's tagging history isillustrated in accordance with aspects of the present subject matter. Ingeneral, the method (300) may be implemented using any suitablecomputing device or system, such as the system 400 depicted in FIG. 5and may, in several embodiments, form part of the method (200) describedabove. Additionally, although FIG. 4 depicts method elements performedin a particular order, it should be appreciated that the method elementsmay generally be performed in any suitable order.

At (302 and 304), the method (300) includes analyzing the tagginghistory of a particular user and determining a quality signal for theuser based on his/her tagging history. For instance, previous tagrequests submitted by the user may be analyzed to determine whether suchtag requests resulted in approved or rejected tags. A user with a largenumber of approved tags (or a high ratio of approved tags to rejectedtags) may be assigned a high/good quality signal while a user with asmall number of approved tags (or a low ratio of approved tags torejected tags) may be assigned a low/poor quality signal. Additionally,the quality signal may also be based on the number of content viewsassociated with the content objects tagged by the user. For instance, auser that generates many page views by finding great content and addinga tag (which is then used to navigate to that content) may be assigned ahigh/good quality signal.

If the particular user being assessed is already a member of aparticular tag group, at (306), the method (300) may include determiningwhether to invite the user to become a moderator of the tag group basedon his/her quality signal. For instance, if the quality signal indicatesthat the user is a trustworthy source of accurate tags, an invitationmay be transmitted to the user requesting that he/she become a moderatorof the group.

Additionally, if the particular user being assessed is not a member of aparticular tag group, at (308), the method (300) may include determiningwhether to invite the user to become a member of the tag group. Again,if the quality signal indicates that the user is a trustworthy source ofaccurate tags, it may be appropriate to send an invitation to the userrequesting that he/she become a member of the group.

Referring now to FIG. 5, a schematic diagram of one embodiment of acomputing system 400 that may be used to implement the disclosed methodsand systems for associating tags with online content is illustrated inaccordance with aspects of the present subject matter. The system 400has a client-server architecture that includes a server 410 thatcommunicates with one or more client devices 430 over a network 130. Thesystem 400 can be implemented using other suitable architectures, suchas a single computing device.

The system 400 includes a server 410, such as a web server. The server410 may be configured to host a tagging platform, such as the taggingplatform 110 of FIG. 1, and/or a content platform, such as the contentplatform 130 of FIG. 1. The server 410 may be implemented using anysuitable computing device(s). Additionally, as shown in FIG. 5, theserver 410 may have a processor(s) 412 and a memory 414. The server 410may also include a network interface 416 used to communicate with one ormore remote computing devices (e.g. client devices 430) over the network130.

The processor(s) 412 may be any suitable processing device, such as amicroprocessor, microcontroller, integrated circuit, or other suitableprocessing device. The memory 414 may include any suitablecomputer-readable medium or media, including, but not limited to,non-transitory computer-readable media, RAM, ROM, hard drives, flashdrives, or other memory devices. The memory 414 may store informationaccessible by processor(s) 412, including instructions 416 that can beexecuted by processor(s) 412. The instructions 416 may be any set ofinstructions that when executed by the processor(s) 412, cause theprocessor(s) 412 to provide desired functionality. For instance, theinstructions 416 may be executed by the processor(s) 412 to implement anACL control module 116 or any other suitable modules.

It will be appreciated that the term “module” refers to computer logicutilized to provide desired functionality. Thus, a module may beimplemented in hardware, application specific circuits, firmware and/orsoftware controlling a general purpose processor. In one embodiment, themodules are program code files stored on the storage device, loaded intomemory and executed by a processor or can be provided from computerprogram products, for example computer executable instructions, that arestored in a tangible computer-readable storage medium such as RAM, ROM,hard disk or optical or magnetic media.

The memory 414 may also include data 418 that can be retrieved,manipulated, created, or stored by processor(s) 412. The data 418 may bestored in one or more databases, such as a tag database 114 configuredto store tag data. The database(s) may be connected to the server 410 bya high bandwidth LAN or WAN, or may also be connected to the server 410through the network 130.

The server 410 may exchange data with one or more client devices 430over the network 130, such as the user devices 120 and/or moderatordevices 162 of FIG. 1. Although two clients 430 are illustrated in FIG.5, any number of client devices 430 can be connected to the server 410over the network 130. As indicated above, the client devices 430 may beany suitable type of computing device, such as a general purposecomputer, special purpose computer, laptop, desktop, integrated circuit,mobile device, smartphone, tablet, wearable computing device, or othersuitable computing device.

Similar to the computing device 410, the client device 430 may include aprocessor(s) 432 and a memory 434. The memory 434 may store informationaccessible by processor(s) 432, including instructions that may beexecuted by processor(s) 432 and data. The client device 430 may alsoinclude various input/output devices for providing and receivinginformation from a user, such as a touch screen, touch pad, data entrykeys, speakers, and/or a microphone suitable for voice recognition. Forinstance, as shown in FIG. 5, the computing device 430 may include adisplay 436 for presenting user interfaces to the user, such the tagginginterface 124 of FIGS. 1 and 2.

The network 130 may generally be any type of communications network,such as a local area network (e.g. intranet), wide area network (e.g.Internet), or some combination thereof. The network 120 may also includea direct connection between a client device 430 and the server 410. Ingeneral, communication between the server 410 and a client device 430may be carried via a network interface using any type of wired and/orwireless connection, using a variety of communication protocols (e.g.TCP/IP, HTTP, SMTP, FTP), encodings or formats (e.g. HTML, XML), and/orprotection schemes (e.g. VPN, secure HTTP, SSL).

While the present subject matter has been described in detail withrespect to specific exemplary embodiments and methods thereof, it willbe appreciated that those skilled in the art, upon attaining anunderstanding of the foregoing may readily produce alterations to,variations of, and equivalents to such embodiments. Accordingly, thescope of the present disclosure is by way of example rather than by wayof limitation, and the subject disclosure does not preclude inclusion ofsuch modifications, variations and/or additions to the present subjectmatter as would be readily apparent to one of ordinary skill in the art.

What is claimed is:
 1. A computer-implemented method of associating tagswith online content, the method comprising: receiving, by one or morecomputing devices, a tag request from a user to associate a tag with acontent object; classifying, by the one or more computing devices, thetag as a controlled tag; accessing, by the one or more computingdevices, an access control list associated with the controlled tag, theaccess control list specifying at least one permission required toaccess the controlled tag; determining, by the one or more computingdevices, whether the user is permitted access to the controlled tagbased on the access control list; when the access control list permitsaccess to the controlled tag, associating, by the one or more computingdevices, the tag with the content object; identifying, by the one ormore computing devices, a moderator for a tag group associated with thecontrolled tag; and providing, by the one or more computing devices, amoderator feed to the moderator of the content object associated withthe controlled tag; wherein the method further comprises generating, bythe one or more computing devices, a quality signal for the user basedon a tagging history of the user; and determining, by the one or morecomputing devices, whether to invite the user to become a member of thetag group based on the quality signal.
 2. The method of claim 1, furthercomprising receiving, by the one or more computing devices, a signalfrom the moderator identifying the controlled tag as an approved tag ora rejected tag.
 3. The method of claim 2, further comprising providing,by the one or more computing devices, a feed of content objectsassociated with approved tags.
 4. The method of claim 1, furthercomprising receiving, by the one or more computing devices, a signalfrom the moderator identifying a new tag to be associated with thecontent object.
 5. The method of claim 1, further comprisingtransmitting, by the one or more computing devices, the approved tag toa content platform associated with the content object.
 6. The method ofclaim 1, wherein the quality signal is based on a number of approvedtags associated with the user.
 7. The method of claim 1, furthercomprising determining, by the one or more computing devices, whether toinvite the user to become a moderator for the tag group based on thequality signal.
 8. The method of claim 1, further comprisingtransmitting, by the one or more computing devices, an authenticationrequest to the user in response to the tag request.
 9. The method ofclaim 1, wherein the content object is hosted at a remote computingdevice.
 10. The method of claim 9, wherein the moderator feed comprisesa link to the content object hosted at the remote computing device. 11.A system for associating tags with online content, the systemcomprising: one or more computing devices including one or moreprocessors and at least one memory, the at least one memory storinginstructions that, when executed by the one or more processor, configurethe one or more computing devices to: receive a tag request from a userto associate a tag with a content object; classify the tag as acontrolled tag; access an access control list associated with thecontrolled tag, the access control list specifying at least onepermission required to access the controlled tag; determine whether theuser is permitted access to the controlled tag based on the accesscontrol list; associate the tag with the content object when the accesscontrol list permits access to the controlled tag; identify a moderatorfor a tag group associated with the controlled tag; and provide amoderator feed to the moderator of the content object associated withthe controlled tag; wherein the one or more computing devices arefurther configured to generate a quality signal for the user based on atagging history of the user; and the one or more computing devices areconfigured to determine whether to invite the user to become a member ofthe tag group based on the quality signal.
 12. The system of claim 11,wherein the one or more computing devices are further configured toreceive a signal from the moderator identifying the controlled tag as anapproved tag or a rejected tag.
 13. The system of claim 11, wherein theone or more computing devices are further configured to provide a feedof content objects associated with approved tags.
 14. The system ofclaim 11, wherein the one or more computing devices are furtherconfigured to receive a signal from the moderator identifying a new tagto be associated with the content object.
 15. The system of claim 11,wherein the one or more computing devices are configured to determinewhether to invite the user to become a moderator for the tag group basedon the quality signal.
 16. The system of claim 11, wherein the one ormore computing devices are further configured to transmit anauthentication request to the user in response to the tag request.